Windows XP 上における”Sendkeys”によるキーコード送信の問題

 当サイトで公開しているツールは主として、VBAの”Sendkeys”によって、AutoCAD(LT)にキーコードを送信しているものである。
 この方法は、従来より不安定との指摘が多かったが、Windows XPの登場により、一層顕著となった。WindowsとVBとのやりとり
 なのだから、もっとスムーズにやってくれないかなぁと思いつつ、このお手軽な方法は捨てがたいのである。

原因と対策

 WindowsXPになったからといって、VBにおける”Sendkeys”の使用制限事項が増えたというわけでも無いのに、なぜか、98や2000
 では快調だった、”Sendkeys”がうまくコードを送ってくれない。
 ↓
 どうやらWindowsXP上で”Sendkeys”を使うと、最初の1行目だけが欠落しているようなのだ。
 ↓
 ならば、最初から1行目をダミーコードにしておけばいいんじゃないか?
 ↓
 正解。

 *”Sendkeys”で最初に送る1行目に"{ESC}"などのあたりさわりの無いものを割り当てる。


 というわけで、今回、当サイトの”AutoCADとExcelへの面積データ記入においてようやくWindowsXP対応としたものではあるが、
 相変わらずの不安定さは否めないのである。


                                                              2004.11.22    futakuchi

Home